import os
import random
from apscheduler.schedulers.background import BlockingScheduler
from index import start

# 主程序入口
if __name__ == "__main__":
    try:
        # 初始化启动
        start()

        # 从环境变量中获取调度时间，如果没有设置，则随机生成
        scheduler_hour = os.environ.get(
            "SCHEDULER_HOUR", random.randint(0, 23))
        scheduler_minute = os.environ.get(
            "SCHEDULER_MINUTE", random.randint(0, 59))

        # 输出调度时间
        print("Scheduler hour: %s, minute: %s" %
              (scheduler_hour, scheduler_minute))

        # 创建调度器并设置时区为上海
        scheduler = BlockingScheduler(timezone='Asia/Shanghai')

        # 添加定时任务，使用cron方式，按照小时和分钟调度
        scheduler.add_job(start, 'cron', hour=scheduler_hour,
                          minute=scheduler_minute)

        # 启动调度器
        scheduler.start()
    except Exception as e:
        # 异常处理，打印异常信息并退出
        print(e)
        exit(1)
